package com.wp.targetOffer;

/**
 * Created by 王萍 on 2017/8/22 0022.
 */

import java.util.Arrays;

/**
 * 数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。
 * 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现
 * 了5次，超过数组长度的一半，因此输出2。如果不存在则输出0。
 */
public class 数组中出现次数超过一半的数字 {

    public static void main(String[] args) {

        int[] array = new int[]{1, 2, 3, 2, 2, 2, 5, 4, 2};
        System.out.println(MoreThanHalfNum_Solution(array));
    }

    public static int MoreThanHalfNum_Solution(int[] array) {
        Arrays.sort(array);
        int length = array.length;
        int number = array[length / 2];
        int count = 0;
        for (int i = 0; i < length; i++) {
            if (number == array[i]) count++;
        }
        if (count <= (length / 2)) number = 0;
        return number;
    }
}
